// © 2009 Microsoft Corporation.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

namespace Microsoft.InformationSecurity.ISRM.TaskManagment.Classes
{
    /// <summary>
    /// Represents a notification schedule which is used to send reminder notifications to the owners of tasks.
    /// </summary>
    public class NotificationSchedule
    {
        /// <summary>
        /// Identifier of the schedule
        /// </summary>
        public int ID
        {
            get;
            set;
        }

        /// <summary>
        /// Name of the schedule
        /// </summary>
        public string Name
        {
            get;
            set;
        }

        /// <summary>
        /// User who last updated the notification schedule
        /// </summary>
        public string LastUpdatedBy
        {
            get;
            set;
        }

        /// <summary>
        /// Date when the schedule was last updated
        /// </summary>
        public DateTime LastUpdatedDate
        {
            get;
            set;
        }

        /// <summary>
        /// User who created the schedule
        /// </summary>
        public User CreatedBy
        {
            get;
            set;
        }

        /// <summary>
        /// Is the schedule applied by default for the obejct
        /// </summary>
        public bool IsDefault
        {
            get;
            set;
        }

        /// <summary>
        /// List of notifications that this schedule contains
        /// </summary>
        
        public Collection<Notification> Notifications
        {
            get;
            set;
        }

        /// <summary>
        /// Identifier of the schedule
        /// </summary>
        public int TaskCount
        {
            get;
            set;
        }
        
    }
}
